package com.ruoyi.server.api.favorites.mapper;

import com.ruoyi.server.api.favorites.domain.Favorites;

import java.math.BigInteger;
import java.util.List;
import java.util.Map;

/**
 * @ClassName FavoritesMapper
 * @Description 点赞收藏Mapper接口
 * @Author zsc
 * @Date 2024/10/16 14:38
 */
public interface FavoritesMapper {
    /**
     * @Author zsc
     * @Description 添加用户点赞记录
     * @Date 2024/10/22 20:24
     * @Return int
     * @param favorites
     */
    int saveUserImgeLike(Favorites favorites);

    /**
     * @Author zsc
     * @Description 删除用户点赞记录
     * @Date 2024/10/22 20:25
     * @Return int
     * @param favorites
     */
    int delUserImgeLike(Favorites favorites);

    /**
     * @Author zsc
     * @Description 添加用户收藏记录
     * @Date 2024/10/23 8:44
     * @Return int
     * @param favorites
     */
    int saveUserImgeCol(Favorites favorites);

    /**
     * @Author zsc
     * @Description 删除用户收藏记录
     * @Date 2024/10/23 8:44
     * @Return int
     * @param favorites
     */
    int delUserImgeCol(Favorites favorites);

    /**
     * @Author zsc
     * @Description 根据用户id查询出点赞过的图片id
     * @Date 2024/10/23 8:54
     * @Return java.util.List<java.lang.Long>
     * @param userId
     */
    List<Long> getUserImageLikeById(BigInteger userId);

    /**
     * @Author zsc
     * @Description 根据用户id查询出收藏过的图片id
     * @Date 2024/10/23 9:20
     * @Return java.util.List<java.lang.Long>
     * @param userId
     */
    List<Long> getUserImageColById(BigInteger userId);

    /**
     * @Author zsc
     * @Description 根据ids获取所有图片点赞数量
     * @Date 2024/10/23 9:43
     * @Return java.util.Map<java.lang.Long,java.lang.Integer>
     * @param ids
     */
    List<Map<Long, Integer>> getLikeCounts(Long[] ids);
}
